package com.pi.wms.entity;


import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import com.pi.framework.core.bean.PageResult;
import com.pi.framework.core.model.IdAuditableEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
import org.springframework.data.jpa.datatables.mapping.DataTablesOutput;

import javax.persistence.*;
import java.math.BigDecimal;


@Entity
@NoArgsConstructor
@Getter
@Setter
@Table(name = "TWI_DOC_MES_KIT_DOCLINE")
public class TwiDocMesKitDocline extends IdAuditableEntity {
	private static final long serialVersionUID = 308201209230L;

    @Id
    @GeneratedValue(generator = "SEQ_TWI_DOC_MES_KIT_DOC_ID")
    @GenericGenerator(name = "SEQ_TWI_DOC_MES_KIT_DOC_ID",strategy = "com.pi.framework.data.FitIdentifierGenerator", parameters = {
            @Parameter(name = "sequence_name", value = "SEQ_TWI_DOC_MES_KIT_DOC_ID") })
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DOC_ID")
    private Long id;

    @Column(name = "VERSION")
    private Long version = Long.valueOf(0L);

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "GCLIENT_ID")
    private Long globalClientId;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "CUSTOMER_ID")
    private Long customerId;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "DIVISION_ID")
    private Long divisionId;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DOCUMENT_NUMBER")
    private String documentNumber;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DOCUMENT_LINENUMBER")
    private String documentLinenumber;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "MATERIAL_ID")
    private Long materialId;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "MATERIAL_CODE")
    private String materialCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "MATERIAL_NAME")
    private String materialName;

    //需求数量
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "ORDERED_QTY")
    private BigDecimal orderedQty;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "ORDERED_QTY_EACH")
    private BigDecimal orderedQtyEach;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "SORTATION_LOC_CODE")
    private String sortationLocCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "SORTATION_LOC_NAME")
    private String sortationLocName;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "LINE_CODE")
    private String lineCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "ULOC")
    private String uloc;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DOC_WBS_NUM")
    private String docWbsNum;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "CONTAINER_NUMBER")
    private String containerNumber;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "AGV_TYPE")
    private String agvType;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "AGV_PARAMS")
    private String agvParams;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "AGV_LOAD")
    private String agvLoad;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "AGV_TASK_NUMBER")
    private String agvTaskNumber;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DELIVERY_TIME")
    private String deliveryTime;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "ISZS_TYPE")
    private String iszsType;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "PLAT_CON")
    private String platCon;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "CREATE_SOURCE")
    private String createSource;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "CHECK_STATUS")
    private String checkStatus;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "LOAD_STATUS")
    private String loadStatus;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "UDF01")
    private String udf01;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF02")
    private String udf02;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF03")
    private String udf03;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF04")
    private String udf04;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF05")
    private String udf05;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF06")
    private String udf06;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF07")
    private String udf07;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF08")
    private String udf08;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF09")
    private String udf09;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF10")
    private String udf10;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "EDITABLE")
    private boolean editable;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "ENABLED")
    private boolean enabled;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "NOTES")
    private String notes;

}
